package com.boss.salary.dao;

import com.boss.framework.dto.PaginationDTO;
import java.util.List;
import java.util.Map;

public interface IReportFormDao {


    List<Map<String, Object>> salarySign();

    /**
     * 查询当前工资月份
     * @return
     */
    String selectCurrentSalaryMonth();

    List<Map<String, Object>> queryUnitSalarySummaryPage(PaginationDTO paginationDTO, String salaryMonth, String salaCardBank);

    int queryUnitSalarySummaryTotal(String salaryMonth, String salaCardBank);

    Map<String,Object> queryUnitSalarySummarySum(String salaryMonth, String salaCardBank);


    /**
     * 按单位汇总工行、交行离休
     * @param paginationDTO
     * @param queryParam
     * @return
     */
    List<Map<String, Object>> queryUnitBankRetiredPage(PaginationDTO paginationDTO, Map<String, Object> queryParam);

    /**
     * 按单位汇总工行、交行离休数量
     * @param queryParam
     * @return
     */
    int queryUnitBankRetiredTotal(Map<String, Object> queryParam);

    /**
     * 按单位汇总工行、交行离休合计
     * @param queryParam
     * @return
     */
    Map<String, Object> queryUnitBankRetiredSum(Map<String, Object> queryParam);

    /**
     * 按单位汇总工行、交行在职
     * @param paginationDTO
     * @param queryParam
     * @return
     */
    List<Map<String, Object>> queryUnitBankWorkPage(PaginationDTO paginationDTO, Map<String, Object> queryParam);

    /**
     * 按单位汇总工行、交行在职数量
     * @param queryParam
     * @return
     */
    int queryUnitBankWorkTotal(Map<String, Object> queryParam);

    /**
     * 按单位汇总工行、交行在职合计
     * @param queryParam
     * @return
     */
    Map<String, Object> queryUnitBankWorkSum(Map<String, Object> queryParam);

    /**
     * 查询人员修改的新增视图(分页)
     * @param paginationDTO 分页信息
     * @param salaryMonth 月份
     * @return 数据列表
     */
    List<Map<String, Object>> vwSalPersonChangeAdd(PaginationDTO paginationDTO, String salaryMonth);

    /**
     * 查add视图的总数据数
     * @param salaryMonth 月份
     * @return 总数
     */
    int vwSalPersonChangeAddTotal(String salaryMonth);

    /**
     * 查询人员修改的删除视图(分页)
     * @param paginationDTO 分页信息
     * @param salaryMonth 月份
     * @return 数据列表
     */
    List<Map<String, Object>> vwSalPersonChangeDelete(PaginationDTO paginationDTO, String salaryMonth);

    /**
     * 查delete视图的总数据数
     * @param salaryMonth 月份
     * @return 总数
     */
    int vwSalPersonChangeDeleteTotal(String salaryMonth);


    /**
     * 人员变动调转
     * @param paginationDTO
     * @param queryParam
     * @return
     */
    List<Map<String, Object>> queryPersonChangeTurnPage(PaginationDTO paginationDTO, Map<String, Object> queryParam);

    /**
     * 获取人员变动调转数量
     * @param queryParam
     * @return
     */
    int getPersonChangeTurnNum(Map<String, Object> queryParam);

    /**
     * 按单位汇总交通补贴
     * @param paginationDTO
     * @param queryParam
     * @return
     */
    List<Map<String, Object>> vwSalAgencyPersonTrafficAllowance(PaginationDTO paginationDTO, Map<String, Object> queryParam);

    /**
     * 交通补贴信息总数
     * @param queryParam
     * @return
     */
    int trafficAllowanceTotal(Map<String, Object> queryParam);

    Map<String, Object> trafficAllowanceSum(Map<String, Object> queryParam);
}
